#pragma once
#include <string>
#include <valarray>

// forward declaration
class VectorSketch;
class Picture;

class Sketch
{
public:
	Sketch();
	~Sketch();

	void DrawSketch(const Picture& pic, HDC ioHdc,const RECT& inRect) const;
	bool HighlightStroke(const Picture& pic, int x, int y, RECT& outRect);

	BOOL SaveOutlinesTo(const TCHAR* path, int index) const;
	void SetVectorParameter(int key, bool value);
	bool IsDrawingAllStrokes() const;
	bool CanSaveOutlines() const;
	const std::wstring GetStatisticsText() const;
	const std::wstring GetHighlightedInfo() const;

	void ResetSketch();
	void Set(int mWidth, int mHeight);
	VectorSketch& GetVectorSketch();
private:
	VectorSketch* mVectorSketch;
	std::valarray<bool> mSavedVectorParameters;
};